package com.ruoyi.experiment.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 过程记录对象 experiment_record
 * 
 * @author gw
 * @date 2025-01-08
 */
public class ExperimentRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 记录ID */
    private Long recordId;

    /** 实验设计ID */
    @Excel(name = "实验设计ID")
    private Long designId;

    /** 实验设计名称 */
    @Excel(name = "实验设计名称")
    private String designName;

    /** 步骤编号 */
    @Excel(name = "步骤编号")
    private String stepNumber;

    /** 动物ID */
    @Excel(name = "动物ID")
    private Long animalId;

    /** 动物编号 */
    @Excel(name = "动物编号")
    private String animalNumber;

    /** 步骤描述 */
    @Excel(name = "步骤描述")
    private String stepDescription;

    /** 操作人员 */
    @Excel(name = "操作人员")
    private String operator;

    /** 参数名称 */
    @Excel(name = "参数名称")
    private Long parameter;

    /** 参数值 */
    @Excel(name = "参数值")
    private Long value;

    /** 记录时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "记录时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date recordTime;

    /** 备注 */
    @Excel(name = "备注")
    private String notes;

    /** 删除人 */
    private String deleteBy;

    /** 删除时间 */
    private Date deleteTime;

    /** 删除标记（0-未删除（默认），1-已删除） */
    private Integer delFlag;

    /** 版本号，用于乐观锁控制 */
    private Long version;

    public String getAnimalNumber() {
        return animalNumber;
    }

    public void setAnimalNumber(String animalNumber) {
        this.animalNumber = animalNumber;
    }

    public String getDesignName() {
        return designName;
    }

    public Long getAnimalId() {
        return animalId;
    }

    public void setAnimalId(Long animalId) {
        this.animalId = animalId;
    }

    public void setDesignName(String designName) {
        this.designName = designName;
    }

    public void setRecordId(Long recordId)
    {
        this.recordId = recordId;
    }

    public Long getRecordId() 
    {
        return recordId;
    }
    public void setDesignId(Long designId) 
    {
        this.designId = designId;
    }

    public Long getDesignId() 
    {
        return designId;
    }
    public void setStepNumber(String stepNumber) 
    {
        this.stepNumber = stepNumber;
    }

    public String getStepNumber() 
    {
        return stepNumber;
    }
    public void setStepDescription(String stepDescription) 
    {
        this.stepDescription = stepDescription;
    }

    public String getStepDescription() 
    {
        return stepDescription;
    }
    public void setOperator(String operator) 
    {
        this.operator = operator;
    }

    public String getOperator() 
    {
        return operator;
    }
    public void setParameter(Long parameter) 
    {
        this.parameter = parameter;
    }

    public Long getParameter() 
    {
        return parameter;
    }
    public void setValue(Long value) 
    {
        this.value = value;
    }

    public Long getValue() 
    {
        return value;
    }
    public void setRecordTime(Date recordTime) 
    {
        this.recordTime = recordTime;
    }

    public Date getRecordTime() 
    {
        return recordTime;
    }
    public void setNotes(String notes) 
    {
        this.notes = notes;
    }

    public String getNotes() 
    {
        return notes;
    }
    public void setDeleteBy(String deleteBy) 
    {
        this.deleteBy = deleteBy;
    }

    public String getDeleteBy() 
    {
        return deleteBy;
    }
    public void setDeleteTime(Date deleteTime) 
    {
        this.deleteTime = deleteTime;
    }

    public Date getDeleteTime() 
    {
        return deleteTime;
    }
    public void setDelFlag(Integer delFlag) 
    {
        this.delFlag = delFlag;
    }

    public Integer getDelFlag() 
    {
        return delFlag;
    }
    public void setVersion(Long version) 
    {
        this.version = version;
    }

    public Long getVersion() 
    {
        return version;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("recordId", getRecordId())
            .append("designId", getDesignId())
            .append("stepNumber", getStepNumber())
                .append("animalId", getAnimalId())
            .append("stepDescription", getStepDescription())
            .append("operator", getOperator())
            .append("parameter", getParameter())
            .append("value", getValue())
            .append("recordTime", getRecordTime())
            .append("notes", getNotes())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("deleteBy", getDeleteBy())
            .append("deleteTime", getDeleteTime())
            .append("delFlag", getDelFlag())
            .append("version", getVersion())
            .toString();
    }
}
